
<!DOCTYPE html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

    <title>PDUDaemon &#8212; LAVA 2024.05 documentation</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
    <script src="_static/jquery.js"></script>
    <script src="_static/underscore.js"></script>
    <script src="_static/_sphinx_javascript_frameworks_compat.js"></script>
    <script src="_static/doctools.js"></script>
    <script src="_static/sphinx_highlight.js"></script>
    <link rel="shortcut icon" href="_static/favicon.ico"/>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Deploying LXC devices" href="admin-lxc-deploy.html" />
    <link rel="prev" title="Building and manipulating images for your devices" href="bootimages.html" />
    <link rel="canonical" href="https://docs.lavasoftware.org/lava/pdudaemon.html" />
  
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1'>
<meta name="apple-mobile-web-app-capable" content="yes">
<script type="text/javascript" src="_static/js/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="_static/js/jquery-fix.js"></script>
<script type="text/javascript" src="_static/bootstrap-3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="_static/bootstrap-sphinx.js"></script>


  </head><body>

  <div id="navbar" class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="index.html"><span><img src="_static/lava.png"></span>
          LAVA</a>
        <span class="navbar-text navbar-version pull-left"><b>2024.05</b></span>
      </div>

        <div class="collapse navbar-collapse nav-collapse">
          <ul class="nav navbar-nav">
            
                <li><a href="genindex.html">Index</a></li>
                <li><a href="contents.html">Contents</a></li>
            
            
              <li class="dropdown globaltoc-container">
  <a role="button"
     id="dLabelGlobalToc"
     data-toggle="dropdown"
     data-target="#"
     href="index.html">Site <b class="caret"></b></a>
  <ul class="dropdown-menu globaltoc"
      role="menu"
      aria-labelledby="dLabelGlobalToc"><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="index.html">Introduction to LAVA</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="contents.html">Contents</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary of terms</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="support.html">Getting support</a></li>
</ul>
</ul>
</li>
              
                <li class="dropdown">
  <a role="button"
     id="dLabelLocalToc"
     data-toggle="dropdown"
     data-target="#"
     href="#">Page <b class="caret"></b></a>
  <ul class="dropdown-menu localtoc"
      role="menu"
      aria-labelledby="dLabelLocalToc"><ul>
<li><a class="reference internal" href="#">PDUDaemon</a></li>
</ul>
</ul>
</li>
              
            
            
              
                
  <li>
    <a href="bootimages.html" title="Previous Chapter: Building and manipulating images for your devices"><span class="glyphicon glyphicon-chevron-left visible-sm"></span><span class="hidden-sm hidden-tablet">&laquo; Building and ...</span>
    </a>
  </li>
  <li>
    <a href="admin-lxc-deploy.html" title="Next Chapter: Deploying LXC devices"><span class="glyphicon glyphicon-chevron-right visible-sm"></span><span class="hidden-sm hidden-tablet">Deploying LXC devices &raquo;</span>
    </a>
  </li>
              
            
            
            
            
              <li class="hidden-sm"></li>
            
          </ul>

          
            
<form class="navbar-form navbar-right" action="search.html" method="get">
 <div class="form-group">
  <input type="text" name="q" class="form-control" placeholder="Search" />
 </div>
  <input type="hidden" name="check_keywords" value="yes" />
  <input type="hidden" name="area" value="default" />
</form>
          
        </div>
    </div>
  </div>

<div class="container">
  <div class="row">
    <div class="body col-md-12 content" role="main">
      
  <section id="pdudaemon">
<span id="id1"></span><h1>PDUDaemon<a class="headerlink" href="#pdudaemon" title="Permalink to this heading">¶</a></h1>
<p>The <cite>PDUDaemon project &lt;https://github.com/pdudaemon/pdudaemon&gt;</cite> presents a
simple interface to control most popular PDU (Power Distribution Unit) models.
LAVA can be configured to use PDUDaemon requests to control power on devices in
your lab.</p>
<p>Some PDUs only support one control session at a time.
In a <a class="reference internal" href="glossary.html#term-distributed-deployment"><span class="xref std std-term">distributed deployment</span></a> LAVA installation with multiple
<a class="reference internal" href="glossary.html#term-remote-worker"><span class="xref std std-term">remote worker</span></a> machines there is a possibility that more than one
dispatcher may attempt to access a PDU simultaneously. In this case the power
control request will only succeed from the dispatcher which was first.</p>
<p>Multinode jobs are more likely to trigger this issue as they cause many jobs to
be started at the same time.</p>
<p>To avoid this problem, instead of each dispatcher accessing the PDUs directly,
dispatchers can make requests to PDUDaemon which executes them sequentially.</p>
<p>The project source is available here: <a class="reference external" href="https://github.com/pdudaemon/pdudaemon">https://github.com/pdudaemon/pdudaemon</a>
Packages for Debian and Ubuntu will be available shortly.
An earlier version of PDUDaemon was called lavapdu, but the packages in
Debian are out of date and should not be used.</p>
<p>Example config file for PDUDaemon
<cite>here &lt;https://github.com/pdudaemon/pdudaemon/blob/master/share/pdudaemon.conf&gt;`</cite></p>
<p>For more information see the <cite>PDUDeamon README
&lt;https://github.com/pdudaemon/pdudaemon/blob/master/README.md&gt;</cite></p>
</section>


    </div>
      
  </div>
</div>
<footer class="footer">
  <div class="container">
    <p class="pull-right">
      <a href="#">Back to top</a>
      
    </p>
    <p>
        &copy; Copyright 2010-2019, Linaro Limited.<br/>
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
    </p>
  </div>
</footer>
  </body>
</html>